package protocol

var (
	CRLF                 = "\r\n"
	pongBytes            = []byte("+PONG" + CRLF)
	UnknownErrReplyBytes = []byte("-ERR unknown" + CRLF)
	nullBulkBytes        = []byte("$-1" + CRLF)
	emptyMultiBulkBytes  = []byte("*0" + CRLF)
	wrongTypeErrBytes    = []byte("-WRONGTYPE Operation against a key holding the wrong kind of value" + CRLF)
	unknownErrBytes      = []byte("-Err unknown" + CRLF)
	syntaxErrBytes       = []byte("-Err syntax error" + CRLF)
	okBytes              = []byte("+OK" + CRLF)
	queuedBytes          = []byte("+QUEUED" + CRLF)
)

type NullBulkReply struct {
}

func MakeNullBulkReply() *NullBulkReply {
	return &NullBulkReply{}
}

func (r *NullBulkReply) ToBytes() []byte {
	return nullBulkBytes
}

// EmptyMultiBulkReply is a empty list
type EmptyMultiBulkReply struct{}

// ToBytes marshal redis.Reply
func (r *EmptyMultiBulkReply) ToBytes() []byte {
	return emptyMultiBulkBytes
}

// MakeEmptyMultiBulkReply creates EmptyMultiBulkReply
func MakeEmptyMultiBulkReply() *EmptyMultiBulkReply {
	return &EmptyMultiBulkReply{}
}
